<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<?php
header("Cache-Control: no-cache, must-revalidate");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Envio de arquivos para consulta</title>
<style type="text/css">
p{
	font-family: Tahoma, Sans-Serif;
	font-size: 12px;
	font-weight: normal;
	clear: left;
}
h1{
	font-family: Tahoma, Sans-Serif;
	font-size: 14px;
}
h2{
	font-family: Tahoma, Sans-Serif;
	font-size: 14px;
}
label,input {
	display: block;
	width: 250px;
	float: left;
	margin-bottom: 10px;
}

label {
	text-align: right;
	width: 90px;
	padding-right: 10px;
}
.enviar
{
	width: 70px;
	align: center;
}

</style>
</head>
<body>
<?php
	$topico_tag = "lin_systems";
	$topico_ass = "Sistemas Lineares";

	/* Diretorios com os arquivos de upload, e metadados dos uploads */
	$upload_dir = "/home/projetos/anaweb/anaweb/upload/upload_data";
	$upload_metadata = "/home/projetos/anaweb/anaweb/upload/upload_metadata";
    require_once("../classes/sessao.php");
	/* Verifica se o usuario esta logado, e seu tipo de navegacao,
	no modo professor, aparecera a opcao de fazer uploads dos arquivos,
	enquanto no modo aluno, aparecerao a lista de arquivos. */
	session_start();
	if (isset($_SESSION['ANAWEB']))
	{
		$metadata = $upload_metadata."/".$_SESSION['ANAWEB']->RetornaId().".xml";
		if (@$_SESSION['ANAWEB']->RetornaModo() == 'professor')
		{
			if (isset($_FILES['arquivo']['tmp_name']))
			{
				/* Gera um nome aleatorio para o arquivo, para que arquivos com o mesmo nome nao
				sejam sobrescritos */
				$old_arquivo= basename($_FILES['arquivo']['tmp_name']);
				$novo_arquivo = hash("crc32",hash("md5",rand(1,50000) . hash("crc32",time()) . $old_arquivo));
				$upload_file = $upload_dir . "/" . $novo_arquivo;

				/* Move o arquivo do diretorio temporario do PHP para o diretorio configurado
				e escreve as informacoes necessarias no arquivo de metadados, caso ocorra erros
				o mesmo sera informado ao usuario */
				if (!is_uploaded_file($_FILES['arquivo']['tmp_name']))
					die("Erro desconhecido");
				if (!@move_uploaded_file($_FILES['arquivo']['tmp_name'],$upload_file))
					die("Nao foi possivel escrever em: ".$upload_dir);

				$xml = new DOMDocument("1.0","utf-8");
				if (file_exists($metadata))
				{
					$xml->preserveWhiteSpace=false;
					if (!@$xml->load($metadata))
					{
						echo "Erro ao abrir o arquivo de metadados";
						unlink($upload_file);
						exit(1);
					}
				}
				$xml->formatOutput=true;
				$arquivos = $xml->getelementsbytagname("files");
				if (!$arquivos->length)
				{
					$arquivos = $xml->createElement("files");
					$arquivos = $xml->appendChild($arquivos);
				}
				else
					$arquivos = $arquivos->item(0);

				/* Populando o arquivo XML com os dados necessarios */

				$assunto = $arquivos->getelementsbytagname($topico_tag);
				if (!$assunto->length)
				{
					$assunto = $xml->createElement($topico_tag);
					$assunto = $arquivos->appendChild($assunto);
				}
				else
					$assunto = $assunto->item(0);
				$file = $xml->createElement("file");
				$file = $assunto->appendChild($file);
				if (!empty($_POST['autor']))
					$autor = $xml->createElement("author", $_POST['autor']);
				else
				{
					unlink($upload_file);
					die("Por favor, especifique o nome do autor");
				}
				if (!empty($_POST['descricao']))
					$descricao = $xml->createElement("description", $_POST['descricao']);
				else
				{
					unlink($upload_file);
					die("Por favor, especifique uma descricao");
				}
				$nome_arquivo = $xml->createElement("filename");
				$arq_origin = $xml->createElement("original",$_FILES['arquivo']['name']);
				$arq_armaz = $xml->createElement("stored",$novo_arquivo);
				$data = $xml->createElement("date", date("d/m/Y"));
				$autor = $file->appendChild($autor);
				$descricao = $file->appendChild($descricao);
				$nome_arquivo = $file->appendChild($nome_arquivo);
				$arq_origin = $nome_arquivo->appendChild($arq_origin);
				$arq_armaz = $nome_arquivo->appendChild($arq_armaz);
				$data = $file->appendChild($data);

				$xml->save($metadata);
				
				echo "<p>Arquivo enviado com sucesso!</p>\n";
				echo "<p>Para visualis&aacute;-lo clique no link abaixo:</p>\n";
				echo "<p><a href=\"baixar.php?prof=".$_SESSION['ANAWEB']->RetornaId()."&arq=$novo_arquivo\">Download</a></p>";
			}
		
			else
			{
?>
	<h1>Envio de arquivos</h1>
	<h2><?php echo $topico_ass ?></h2>
	<div class="left">
	<form enctype="multipart/form-data" action="index.php" method="POST">
	<p>
            <label for="autor">Autor:</label>
            <input type="text" id="autor" name="autor">
        </p>
	<p>
            <label for="descricao">Descri&ccedil;&atilde;o:</label>
            <input type="text" id="descricao" name="descricao">
        </p>
	<p>
            <label for="arquivo">Arquivo:</label>
            <input name="arquivo" id="arquivo" type="file" />
        </p>
	<p>
            <input class="enviar" type="submit" value="Enviar" />
        </p>
	</form>
	</div>
<?php			
			}
		}
		else
		{
			echo "<p>Modo aluno</p>";
		}
	}
	else
	{
		echo "<p>Voc&ecirc; deve estar logado para entrar nesta se&ccedil;&atilde;o do site.</p>";
	}
?>
</body>
</html>
